package com.hzw.saas.service.old.hub.pojo;

import java.io.Serializable;

import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 存储信息基础类
 *
 * @author zzl
 * @since 04/13/2021
 */
@Data
@Accessors(chain = true)
public abstract class BaseStorage implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 数据长度，单位: byte
     * 若保存时提供，则会进行校验；另，文件流模式下，会对文件流读取进行截断
     * 可选
     */
    private Long length;

    /**
     * 数据摘要，若保存时提供，则会进行校验
     * 可选
     */
    private String digest;

    /**
     * 摘要类型，默认MD5
     * 可选
     */
    private String digestType;

    public long length() {
        return length == null ? 0 : length;
    }
}
